/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.servidor;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

import com.cliente.Hospede;
import com.cliente.Hotel;
import com.cliente.Quarto;
import com.cliente.Reserva;

/**
 *
 * @author andersonribeiro
 */
public interface IServidor extends Remote {
    
	public String cadastrarHotel(String nome, String endereco, String nomeGerente, int quantidadeQuartos) throws RemoteException;
	
	public String cadastrarHospede(String nome, String CPF, String endereco, String telefone, String email) throws RemoteException;
	
	public List<Quarto> verificarDisponibilidadeDeQuarto(String nomeHotel) throws RemoteException;
	
	public Reserva verificarPendencia(String CPF) throws RemoteException;
	
	public boolean realizarReserva(Hospede hospede, Hotel hotel, String dataInicioDiaria) throws RemoteException;
	
	public Hotel buscarHotel(String nome) throws RemoteException;
	
	public Hospede buscarHospede(String CPF) throws RemoteException;
	
	public int getTotalHoteis() throws RemoteException;
	
	public int getTotalHospedes() throws RemoteException;
	
	public int getTotalReservas() throws RemoteException;
	
	public List<Hospede> getHospedes() throws RemoteException;
	
	public List<Hotel> getHoteis() throws RemoteException;
	
	public List<Reserva> getReservas() throws RemoteException;
	
	public Hotel getHotel(String nomeHotel) throws RemoteException;
	
	public Hospede getHospedeCPF(String CPF) throws RemoteException;
	
	public void adicionarReserva(Reserva reserva) throws RemoteException;
	
	public void adcionarHospede(Hospede hospede) throws RemoteException;
	
	public void desalocarHospedeDaReserva(String CPF) throws RemoteException;
	
	// <silas>
	public String exibirHospedesDoHotel(Hotel hotel) throws RemoteException;
    
}
